package com.candy.control;

import com.candy.service.UserLoginService;
import com.candy.service.impl.UserLogin2ServiceImpl;
import com.candy.service.impl.UserLogin3ServiceImpl;
import com.candy.service.impl.UserLoginServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;

@WebServlet("/userLoginServlet")
public class UserLoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("服务器处理了你的请求");
        //处理get请求
        //处理请求字符集，解决中文乱码问题
        //控制台如果出现乱码可以添加一段配置：-Dfile.encoding=UTF-8  解决中文乱码问题
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        //接收用户登录时写入的用户名信息，注意参数为input框的name属性的值
        String username=request.getParameter("username");
        //接收用户登录时写入的密码信息，注意参数为input框的name属性的值
        String userpwd=request.getParameter("userpwd");
        System.out.println("用户名："+username+"，密码："+userpwd);

//        调用model成进行业务逻辑处理
//        UserLoginService userLoginService=new UserLoginServiceImpl();
        UserLoginService userLoginService=new UserLogin3ServiceImpl();
        boolean ok= false;

        try {
            ok = userLoginService.login(username,userpwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
//        登录后跳转到指定的页面
//        可以使用重定向或转发的方式完成页面跳转
        if(ok){
            //        在request域中存入数据
            request.setAttribute("username",username);
            request.getSession().setAttribute("logintime",new Date());
//        使用转发的方式进行页面跳转的
            request.getRequestDispatcher("WEB-INF/welcome.jsp").forward(request,response);
//        使用重定向进行页面跳转
//        response.sendRedirect("logined.jsp");
        }else {
            response.sendRedirect("index.jsp");
        }
    }
}
